<?php
// Đảm bảo tên profile không trùng lắp
$number = db_result (db_query (
  "SELECT COUNT(*) FROM {dvbanner_profile} WHERE name = '%s'",
  $form_values['name']
));

if ($number >= 1) {
  form_set_error ('name', t('Profile name has already existed. Please select another one.'));
}

// Basic settings
//// height phải là giá trị số
if (!preg_match ('|^[0-9]+$|', $form_values['height'])) {
  form_set_error ('height', t("Height must be a number."));
}

//// width phải là giá trị số
if (!preg_match ('|^[0-9]+$|', $form_values['width'])) {
  form_set_error ('width', t("Width must be a number."));
}

//// Đảm bảo tập tin tải lên phải là một ảnh
if ($image = file_check_upload ('image')) {
  $image_info = image_get_info($image->filepath);
  
  if (!$image_info || !$image_info['extension']) {
    form_set_error('image', t('The uploaded file was not an image.'));
  }
}

//// Các tông màu phải là hexa value
foreach (array ('backcolor', 'frontcolor', 'lightcolor', 'screencolor') as $field) {
  if (!preg_match ('|^#[0-9ABCDEF]+$|i', $form_values[$field])) {
    form_set_error ($field, t('!field was not a valid value.', array ('!field' => $field)));
  }
}

// Display settings
//// logo: Tập tin tải lên phải là một ảnh
if ($logo = file_check_upload ('logo')) {
  $logo_info = image_get_info($logo->filepath);
  
  if (!$logo_info || !$logo_info['extension']) {
    form_set_error('logo', t('The uploaded file was not an image.'));
  }
}

// Biến trợ giúp việc kiểm tra các element gọn gàng hơn
$_bool = array ('false', 'true');

//// overstretch, show icon, show equalizer, repeat: đảm bảo giá trị trong tập giá trị định trước
$values_set = array (
  'overstretch'		 => array ('false', 'true', 'fit', 'none'),
  'showicons' 		 => $_bool,
  'showeq' 			   => $_bool,
  'shownavigation' => $_bool,
  'showstop' 		   => $_bool,
  'showdigits' 		 => $_bool,
  'usefullscreen'  => $_bool,
  'autostart'      => $_bool,
  'repeat'         => array ('false', 'list', 'true'),
  'shuffle'        => $_bool
);

foreach ($values_set as $key => $val) {
  if (!in_array ($form_values[$key], $val)) {
    form_set_error (
      $key, 
      t("Invalid valid value for @field field.", array ('@field' => $key)
    ));
  }
}

// Playlist
if (!empty ($form_values['rotatetime']) && !is_numeric ($form_values['rotatetime'])) {
  form_set_error ('rotatetime' , t('Rotate time must be an integer.'));
}
